package com.multicert.hackathon.blmanager;

import java.util.List;

public interface BaselineManager {

    /**
     * Creates a new baseline for a project.
     *
     * @param projectId project node reference
     * @param name name of the baseline
     */
    public void createBaseline(String projectId, String name) throws Exception;

    /**
     * Updates an existing baseline for a project. Use this if baseline creation went wrong,
     * or if you forgot a document in the project and you want to update the created baseline.
     *
     * @param projectId project node reference
     * @param name name of the baseline
     */
    public void updateBaseline(String projectId, String name) throws Exception;

    /**
     * Deletes an existing baseline for a project.
     *
     * @param projectId project node reference
     * @param name name of the baseline
     */
    public void deleteBaseline(String projectId, String name) throws Exception;

    /**
     * Retrieves the existing baselines that have been created for a project.
     *
     * @param projectId project node reference
     * @return
     */
    public List<String> getBaselines(String projectId) throws Exception;
}
